home *** CD-ROM | disk | FTP | other *** search
/ Shareware Games Galore! / Shareware Games Galore!.iso / arcade / springer / springer.doc < prev    next >
Encoding:
Text File  |  1989-01-09  |  23.3 KB  |  529 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.                                      SPRINGER
  7.          
  8.                       A Chess Playing Program for the IBM PC
  9.          
  10.          
  11.                                     Version 1.0
  12.                               Released 9 January 1989
  13.          
  14.          
  15.          
  16.                          (C) Copyright 1989 by Ken Goodman
  17.          
  18.          
  19.          
  20.          
  21.          
  22.          
  23.          
  24.          INTRODUCTION
  25.          ------------
  26.          
  27.          Springer is a chess program for the IBM PC which offers several
  28.          levels of varying playing strength to challenge the vast majority
  29.          of human players, as well as an excellent on-screen display of
  30.          the chess position.  The playing strength of this program is,
  31.          quite frankly, not quite as good as that of the best commercial
  32.          programs, though most human players should find it more than
  33.          adequate in this respect.  In several ways (including playing
  34.          strength) I believe this program is far superior to all others I
  35.          have seen released as shareware products or in the public domain.
  36.          
  37.          You should have no trouble using the program if you already know
  38.          how to play chess.  Springer starts out in its normal playing
  39.          mode, with the board shown on-screen in the format of a standard
  40.          chess diagram.  Moves are entered by using the "arrow" keys to
  41.          move an indicator around the chess board and the Enter key to
  42.          select the piece you want to move and the square you want to move
  43.          it to.  If you press an invalid key, a help screen/menu will
  44.          appear, providing brief instructions and allowing single-key
  45.          access to special functions such as saving/recalling games in
  46.          disk files.
  47.          
  48.          This document provides some detailed information about Springer
  49.          and how to use the program, but assumes that you already know the
  50.          rules of chess.  Novices should be aware that Springer knows and
  51.          makes use of the special moves of Castling and En Passant
  52.          capture.  Please refer to a suitable chess book or primer for
  53.          details of these special moves or other rules of chess.
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.          The major features offered by Springer are:
  73.          
  74.            * 10 levels of play to suit almost any user's playing strength
  75.            * Excellent display of chess board with Color Graphics Adapter
  76.            * Good display of board on a monochrome or text-only system
  77.            * Diagram of chess position on Epson or compatible printer
  78.            * Printout of complete game record in Algebraic chess notation
  79.            * Ability to save and recall complete games on disk
  80.            * Easy entry of moves using arrow keys and on-screen cursor
  81.            * Referee mode to supervise games between two players
  82.            * Autoplay mode:  any level against any other level
  83.            * Step backward/forward to review game move-by-move
  84.          
  85.          
  86.          NORMAL PLAY
  87.          -----------
  88.          
  89.          Springer starts by displaying a banner to identify the program
  90.          and version, then after a short delay enters its NORMAL playing
  91.          mode.  The starting position is displayed, and the game begins
  92.          with the user playing the White pieces against the computer
  93.          opponent "Springer  Lev1".  The message area to the right of the
  94.          chess board shows that it is "Your move."  Please note that the
  95.          players are identified by names printed at the top and bottom of
  96.          the board.  As in standard chess diagrams, White starts from the
  97.          bottom of the diagram, and Black from the top.  Also note that
  98.          NORMAL playing mode is indicated in the upper right corner of the
  99.          screen.
  100.          
  101.          Press a key and the square containing your King is highlighted,
  102.          and the message area asks "Piece?"  To begin a game, make a move
  103.          by selecting a piece to move, then a square to move it to.  Use
  104.          the cursor keys (up, down, left and right arrows, and Home, PgUp,
  105.          End and PgDn for diagonal directions) to move the highlighted
  106.          square (the cursor) around on the board.  After moving the cursor
  107.          to highlight the piece you wish to move, press the Enter key,
  108.          then move the cursor to the square you wish to move to in answer
  109.          to the "Destination?" prompt.  Springer will then show the move
  110.          being made on the board, then choose and make a move of its own.
  111.          If you try to make an illegal move, Springer will tell you so,
  112.          and the move entry process will be repeated.
  113.          
  114.          Special moves:  Castling is entered by moving your King two
  115.          squares left or right;  the Rook's movement will automatically be
  116.          shown on the board to complete the move.  En Passant captures are
  117.          entered just as the normal pawn capture would be entered:  by
  118.          selecting the starting and ending squares of the capturing pawn.
  119.          
  120.          Want to use Springer's commands to change playing level, swap
  121.          sides, etc?  Press the ESC key at your turn and a menu and brief
  122.          instructions will be displayed.  If you know the simple key
  123.          sequences for the commands you want to use, you can bypass the
  124.          menu by pressing the * key instead of ESC, then the primary
  125.          command key.  Bypassing the menu in this way keeps the board
  126.          display on the screen for commands that don't require additional
  127.  
  128.  
  129.                                           2 
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.          input.  Springer also accepts commands typed on the command line
  140.          used to run the program.  In this case, * is used to begin a
  141.          command, and / substitutes for the Enter key required by some
  142.          commands.
  143.          
  144.          Some examples:  To play Black against the computer, use the
  145.          Swap-sides command at the beginning of the game (using the S
  146.          option from the menu, or by pressing the keys * S).  To change to
  147.          playing level 5, the command sequence * (or ESC for the menu) O
  148.          (for Options) L (for Level) 5 / is required.  Starting Springer
  149.          from DOS with the command line "SPRINGER *OL5/*S" will start a
  150.          game with the user playing Black against "Springer  Lev5".
  151.          
  152.          If you have a suitable graphics adapter, Springer automatically
  153.          shows the board using CGA 320x200 graphics and 4 colors, while if
  154.          your computer has a text-only display adapter, the board is shown
  155.          using text and special characters to represent the pieces.  If
  156.          you have a graphics adapter attached to a monochrome monitor, you
  157.          may wish to force Springer to use text mode to display the board,
  158.          since light and dark squares may be hard to distinguish.  You can
  159.          use the Options command to enable or disable graphics, as well as
  160.          sounds normally produced by the program.
  161.          
  162.          Is Springer taking too long to make a move?  Press ESC to force
  163.          the program to quit thinking and make a move.  Of course this
  164.          will have some effect on the quality of Springer's move.  Also,
  165.          the program's thinking time is relatively constant throughout the
  166.          game, and is up to the user through the choice of playing level,
  167.          as shown by the APPROXIMATE time chart below:
  168.          
  169.            Level       0    1    2    3    4    5    6    7    8    9
  170.            ---------+----+----+----+----+----+----+----+----+----+---
  171.            Min Time    0    5   10   15   20   25   30   35   40   45
  172.            Max Time    5   25   45   65   85  105  125  145  165  185
  173.          
  174.           (Times are in seconds, and Max Time depends slightly on CPU.)
  175.          
  176.          AUTOPLAY AND REFEREE MODES
  177.          --------------------------
  178.          
  179.          If you wish, you can make Springer play against itself by
  180.          changing to AUTOPLAY mode using the A key from the command menu.
  181.          You will be prompted for playing levels for White and Black, and
  182.          you can choose to pit any level against any other level.  It
  183.          might be entertaining, for instance, to watch "Springer  Lev5"
  184.          play a game against "Springer  Lev1".  To get out of AUTOPLAY
  185.          mode, you can wait for either side to make a move, then press the
  186.          ESC key to go to the command menu, from which you can switch to
  187.          NORMAL or REFEREE mode, quit and start a new game, exit to DOS,
  188.          etc.  To get out of AUTOPLAY immediately, you can press ESC
  189.          twice:  the first ESC forces Springer to quit thinking about its
  190.          move, and the second ESC calls up the menu.
  191.          
  192.          In REFEREE mode, two people can play a game against each other,
  193.          with Springer keeping track of the game and checking each move
  194.  
  195.  
  196.                                           3 
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.          for legality.  REFEREE mode is also used to step backwards and
  207.          forwards through a game to review it one move at a time.  I use
  208.          REFEREE mode to store and review my own tournament or casual
  209.          chess games, and to review them and print game scores to share
  210.          with friends.  In order to keep track of such games, you can use
  211.          the Title command to enter a heading for the game (printed as
  212.          part of the game record) as well as a name for each player
  213.          involved.  If you intend to use REFEREE mode this way, you should
  214.          know that changing between REFEREE, AUTOPLAY and NORMAL modes
  215.          alters the player names, so the best way is to enter REFEREE
  216.          mode, enter the heading and names, play through the game, and
  217.          then save it to an appropriately named disk file.  In addition to
  218.          the Title option, the Draw and Resign options are available (in
  219.          REFEREE mode only) to correctly enter results of games recorded
  220.          this way.
  221.          
  222.          You can switch between the different modes of play at any time,
  223.          and Springer automatically changes its mode when certain commands
  224.          are executed.  For example, when a game is recalled from a disk
  225.          file, or when the takeback or replay commands are used, Springer
  226.          automatically enters REFEREE mode.  You can change modes
  227.          afterward, of course, and when you change from REFEREE to NORMAL
  228.          mode you will be assigned the side whose turn it is to move.
  229.          
  230.          
  231.          REVIEWING GAMES
  232.          ---------------
  233.          
  234.          Games played with Springer can be reviewed one move at a time
  235.          using the takeback and replay (- and +) commands.  This works out
  236.          nicely using the key sequences * - and * + with the chess board
  237.          always displayed.  The rewind and fast-forward commands (using
  238.          the [ and ] keys) can be used to rapidly back up all the way to
  239.          the beginning of a game (or as far as desired) and watch the game
  240.          being replayed from start to finish (or stopping at any point in
  241.          between).
  242.          
  243.          The rewind command ([) takes back moves one after another until
  244.          the beginning of the game is reached or a key is pressed,
  245.          redrawing the board between moves.  If all you want to do is back
  246.          up as quickly as possible to the start of a game, you should do
  247.          this either using the menu or in text mode, but if you want to
  248.          watch the position closely while backing up, use graphics mode.
  249.          Fast-forward replays the game one move after another until a key
  250.          is pressed or the end is reached, showing each move clearly on
  251.          the board.  I tend to use these commands to find the part of a
  252.          game I'm interested in, then use takeback and replay to study
  253.          that part of the game in detail.  To me, this is one of the nice
  254.          things about Springer: it's so much easier to play through games
  255.          this way than with a real chess board and pieces -- and much
  256.          easier to set up for a new game!
  257.          
  258.          Notice that whenever you use any of the above commands, Springer
  259.          automatically switches to REFEREE mode.  You can use the takeback
  260.          command to give yourself a second chance if you enter the wrong
  261.  
  262.  
  263.                                           4 
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.          move, taking back the computer's reply, then your original move,
  274.          then switching back to NORMAL mode to enter your new move.  If
  275.          you make a bad move and need to take it back this way, go right
  276.          ahead -- but don't forget to chalk one up to Springer!
  277.          
  278.          
  279.          PRINTING GAMES/POSITIONS
  280.          ------------------------
  281.          
  282.          You can use the Printer commands to print a record of the current
  283.          game or a diagram of the current position.  Printed output goes
  284.          to the LPT1 device.
  285.          
  286.          Game records are printed as numbered lists of moves in two
  287.          columns (for White and Black) using standard Algebraic chess
  288.          notation, which is the same notation used to indicate the last
  289.          move in Springer's on-screen display.  If you are unfamiliar with
  290.          this notation, it shouldn't be too hard to learn by paying
  291.          attention to the way Springer displays moves during the course of
  292.          a game.  The basis of this system of notation is the unique name
  293.          given to each square on the board:  each file (vertical column of
  294.          squares on the diagram) is called by a letter a-h, while each
  295.          rank (horizontal row) is numbered 1-8, always starting with a1 in
  296.          the lower left corner of the diagram (White's Queen's Rook
  297.          square).  A typical move is described by indicating the type of
  298.          piece moved and the ending square (Nf3 means Knight to f3), or
  299.          just the ending square for pawn moves (e.g. e5 for Pawn to e5).
  300.          Captures are indicated by an x, as in Nxf6.  If another piece of
  301.          the same type could have moved to the same square, both starting
  302.          and ending squares are given (Nb1d2 means Knight from b1 to d2).
  303.          King- and Queen-side castling are indicated by O-O and O-O-O,
  304.          respectively.
  305.          
  306.          Diagrams of the current position are printed using dot-matrix
  307.          graphics, and thus require a printer compatible with Epson
  308.          graphics commands.  They are printed in a very legible format,
  309.          with a board size of approximately 2.5" square.  Together with a
  310.          printed list of moves, these diagrams provide a nice hardcopy
  311.          record of the game.
  312.          
  313.          
  314.          SAVED GAMES AND DISK FILES
  315.          --------------------------
  316.          
  317.          The Memory commands provide a way to store and retrieve complete
  318.          games on disk.  For each game you wish to Save or Recall, you
  319.          must provide a complete DOS filename for a disk file to be either
  320.          read or written by Springer.  You can specify any disk or
  321.          directory path as part of the filename.  A List command is also
  322.          provided to show games that have already been saved on the
  323.          current disk directory.  Each game file will take up 1024 bytes
  324.          of disk space, regardless of the length of the game.  When a game
  325.          is Recalled from a file, the last position of the game is
  326.          reconstructed, and play resumes from this point.  These disk
  327.          functions are the only feature of Springer requiring a version of
  328.  
  329.  
  330.                                           5 
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.          DOS more recent than 1.0.
  341.          
  342.          There is plenty of room on a 360k DOS-formatted diskette for many
  343.          of your own saved game files, in addition to a copy of the
  344.          program file SPRINGER.COM.  The distribution disk contains a
  345.          batch file CHESS.BAT which can be used to start Springer with
  346.          non-standard option settings.  You can edit this batch file,
  347.          which contains a single command line, so that typing the command
  348.          "CHESS" will start a game with the display, level, and other
  349.          options set the way you like them, and then carry around your own
  350.          Springer setup and games on a single floppy disk.
  351.          
  352.          Included on the distribution disk are a few example games you may
  353.          wish to look at, as well as a file containing this document.  See
  354.          the file "READ.ME" for a list of the distribution files.
  355.          
  356.          
  357.          BACKGROUND
  358.          ----------
  359.          
  360.          This section gives the history of Springer, and is included for
  361.          user interest as well as for my own personal gratification.
  362.          
  363.          Springer began in 1983 as one of several half-hearted projects of
  364.          the small electronics company I worked for at the time.  After
  365.          devoting a minimum of time and effort (mine) to this project, the
  366.          company decided it would never result in a marketable product and
  367.          ceased work on the project entirely, and has thereafter abandoned
  368.          all such activities in favor of purely industrial markets.
  369.          
  370.          Since leaving this company in 1988 I have resurrected Springer
  371.          and made many substantial improvements to the program, in playing
  372.          strength as well as features such as ease of use,
  373.          saving/recalling games on disk, printing positions and game
  374.          scores, etc.  It is my intention to continue improving this
  375.          program, and I anticipate a dramatic increase in playing strength
  376.          in the near future.
  377.          
  378.          Springer was written entirely in 8086 assembly language, for two
  379.          reasons: (1)  Speed performance was critical.  (2) No good
  380.          compiler language was available to me at the beginning of this
  381.          project (Anyone remember IBM's FORTRAN and Pascal versions 1.0?
  382.          At least MASM 1.0 WORKED!).   Certain portions of such a program
  383.          are best written in assembly language for maximum performance,
  384.          but less demanding features such as disk and printer I/O,
  385.          handling player input, etc.  could have been dealt with much
  386.          easier using a good Pascal compiler, for instance.
  387.          
  388.          This program was begun when I was new to the 8086 architecture
  389.          and instruction set, and it contains a mixture of well-written
  390.          and not-so-well written sections of code.  As always, I like to
  391.          think that a rewrite at this time would produce much slicker,
  392.          more polished source code.  The philosophy behind choosing the
  393.          computer's move also underwent some radical changes during the
  394.          course of development, and the most major change in this respect
  395.  
  396.  
  397.                                           6 
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.          was just beginning when the original project was scrapped.  I
  408.          have completed this change, which affects playing strength, as
  409.          well as completing the user interface features, and I believe
  410.          Springer is now a product worthy of your attention.
  411.          
  412.          It turns out to be relatively easy for me to add or rearrange
  413.          major feature of the program now, despite the vast bulk of its
  414.          source code, and I intend to continue working on the program as
  415.          time and money permit, improving playing strength and adding or
  416.          improving peripheral features.  I sincerely hope that you and
  417.          your friends will enjoy using Springer, and I welcome any
  418.          comments or suggestions you may have.
  419.          
  420.          
  421.          RIGHTS AND DISTRIBUTION
  422.          -----------------------
  423.          
  424.          Springer is protected by copyright laws, though you are
  425.          encouraged to copy and share the unmodified program (Version 1.0)
  426.          and this documentation.  If you find this program useful or
  427.          enjoyable, please help me continue to improve it, both by paying
  428.          the modest price of the latest available version, and by offering
  429.          your comments and suggestions.
  430.          
  431.          About bugs: In the context of a program like this, what is a bug?
  432.          A programming error that makes your computer lock up, displays
  433.          gibberish on the screen, etc.  obviously qualifies.  If Springer
  434.          makes an illegal move, fails to correctly recall a game you
  435.          saved, etc.  something is definitely wrong.  An error that
  436.          results in silly or even stupid moves by the computer is much
  437.          more subtle, and much more difficult to diagnose as a true
  438.          programming error.  After all, it may reflect a flaw in the
  439.          philosophy behind Springer's design, and not an error in
  440.          implementation.  In any case, if you think you've found a bug in
  441.          Springer and are willing to take the trouble to report it, please
  442.          be specific regarding what you are doing when the bug shows
  443.          itself, as well as about exactly what happens afterward.
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.                                           7 
  465.  
  466.  
  467.  
  468.  
  469.  
  470.  
  471.  
  472.  
  473.  
  474.          An updated version of Springer is available directly from the
  475.          author, along with a collection of 60 of Bobby Fischer's best
  476.          games on the same 5.25" diskette.  To receive the latest version
  477.          available, send $12 to
  478.          
  479.                Ken Goodman
  480.                218 N. 29th St.
  481.                Opelika, AL 36801
  482.          
  483.          Please do not distribute unauthorized copies of this game
  484.          collection, or of versions of Springer other than version 1.0.
  485.          Complete source code for Springer (version 1.0 only) is also
  486.          available for the extremely curious.  It is available on a single
  487.          5.25" diskette in the form of 8086 assembly language for $80.
  488.          The source code can be used or modified for the personal benefit
  489.          of the purchaser, but is not to be distributed, nor is it to be
  490.          used for any commercial purpose, without the prior written
  491.          permission of the author.
  492.          
  493.          If you have specific errors to report, or specific changes to
  494.          suggest, please include them with your order.  If possible, I
  495.          will include any error corrections or useful changes to the
  496.          program in the version I send you.  If this is not practical,
  497.          then I will send you an updated version containing any useful
  498.          changes you suggest as soon as it becomes available, in addition
  499.          to prompt shipment of the latest release available when you
  500.          order.
  501.          
  502.          Alabama residents:  please add 4% sales tax.
  503.          For foreign orders, add appropriate postage for international
  504.          mail delivery.
  505.          
  506.          DISCLAIMER:  No warranty of any kind is claimed for this software
  507.          product, and the author specifically disclaims any implied
  508.          warranty of merchantability or fitness for a particular purpose,
  509.          as well as any responsibility for incidental or consequential
  510.          damages.  Media conveying this software and purchased directly
  511.          from the author, if found to be physically defective in materials
  512.          or workmanship, will be replaced if returned within 10 days of
  513.          receipt.
  514.          
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.                                           8 
  532.  
  533.  
  534.  
  535.